package abs.domain;

import java.io.Serializable;

import java.lang.StringBuilder;

import java.util.Calendar;
import java.util.LinkedHashSet;
import java.util.Set;

import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;

import javax.xml.bind.annotation.*;

import javax.persistence.*;

/**
 */

@Entity
@NamedQueries({
		@NamedQuery(name = "findAllTipoProveedoress", query = "select myTipoProveedores from TipoProveedores myTipoProveedores"),
		@NamedQuery(name = "findTipoProveedoresByPrimaryKey", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100cdgo = ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100cdgo", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100cdgo = ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100cdgoContaining", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100cdgo like ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100desc", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100desc = ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100descContaining", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100desc like ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100esta", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100esta = ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100estaContaining", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100esta like ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100fead", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100fead = ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100feadAfter", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100fead > ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100feadBefore", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100fead < ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100femo", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100femo = ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100femoAfter", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100femo > ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100femoBefore", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100femo < ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100load", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100load = ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100loadContaining", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100load like ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100lomo", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100lomo = ?1"),
		@NamedQuery(name = "findTipoProveedoresByTipopr100lomoContaining", query = "select myTipoProveedores from TipoProveedores myTipoProveedores where myTipoProveedores.tipopr100lomo like ?1") })
@Table(catalog = "absV2", name = "tipopr100")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(namespace = "absWeb/abs/domain", name = "TipoProveedores")
@XmlRootElement(namespace = "absWeb/abs/domain")
public class TipoProveedores implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 */

	@Column(name = "tipopr100cdgo", length = 5, nullable = false)
	@Basic(fetch = FetchType.EAGER)
	@Id
	@XmlElement
	String tipopr100cdgo;
	/**
	 */

	@Column(name = "tipopr100desc", length = 60, nullable = false)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String tipopr100desc;
	/**
	 */

	@Column(name = "tipopr100esta", length = 1)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String tipopr100esta;
	/**
	 */

	@Column(name = "tipopr100load", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String tipopr100load;
	/**
	 */
	@Temporal(TemporalType.DATE)
	@Column(name = "tipopr100fead")
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	Calendar tipopr100fead;
	/**
	 */

	@Column(name = "tipopr100lomo", length = 30)
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	String tipopr100lomo;
	/**
	 */
	@Temporal(TemporalType.DATE)
	@Column(name = "tipopr100femo")
	@Basic(fetch = FetchType.EAGER)
	@XmlElement
	Calendar tipopr100femo;

	/**
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumns({ @JoinColumn(name = "tipopr100nocia", referencedColumnName = "co000nocia", nullable = false) })
	@XmlTransient
	Companias companias;
	/**
	 */
	@OneToMany(mappedBy = "tipoProveedores", cascade = { CascadeType.REMOVE }, fetch = FetchType.LAZY)
	@XmlElement(name = "", namespace = "")
	java.util.Set<abs.domain.Proveedores> proveedoreses;

	/**
	 */
	public void setTipopr100cdgo(String tipopr100cdgo) {
		this.tipopr100cdgo = tipopr100cdgo;
	}

	/**
	 */
	public String getTipopr100cdgo() {
		return this.tipopr100cdgo;
	}

	/**
	 */
	public void setTipopr100desc(String tipopr100desc) {
		this.tipopr100desc = tipopr100desc;
	}

	/**
	 */
	public String getTipopr100desc() {
		return this.tipopr100desc;
	}

	/**
	 */
	public void setTipopr100esta(String tipopr100esta) {
		this.tipopr100esta = tipopr100esta;
	}

	/**
	 */
	public String getTipopr100esta() {
		return this.tipopr100esta;
	}

	/**
	 */
	public void setTipopr100load(String tipopr100load) {
		this.tipopr100load = tipopr100load;
	}

	/**
	 */
	public String getTipopr100load() {
		return this.tipopr100load;
	}

	/**
	 */
	public void setTipopr100fead(Calendar tipopr100fead) {
		this.tipopr100fead = tipopr100fead;
	}

	/**
	 */
	public Calendar getTipopr100fead() {
		return this.tipopr100fead;
	}

	/**
	 */
	public void setTipopr100lomo(String tipopr100lomo) {
		this.tipopr100lomo = tipopr100lomo;
	}

	/**
	 */
	public String getTipopr100lomo() {
		return this.tipopr100lomo;
	}

	/**
	 */
	public void setTipopr100femo(Calendar tipopr100femo) {
		this.tipopr100femo = tipopr100femo;
	}

	/**
	 */
	public Calendar getTipopr100femo() {
		return this.tipopr100femo;
	}

	/**
	 */
	public void setCompanias(Companias companias) {
		this.companias = companias;
	}

	/**
	 */
	public Companias getCompanias() {
		return companias;
	}

	/**
	 */
	public void setProveedoreses(Set<Proveedores> proveedoreses) {
		this.proveedoreses = proveedoreses;
	}

	/**
	 */
	public Set<Proveedores> getProveedoreses() {
		if (proveedoreses == null) {
			proveedoreses = new java.util.LinkedHashSet<abs.domain.Proveedores>();
		}
		return proveedoreses;
	}

	/**
	 */
	public TipoProveedores() {
	}

	/**
	 * Copies the contents of the specified bean into this bean.
	 *
	 */
	public void copy(TipoProveedores that) {
		setTipopr100cdgo(that.getTipopr100cdgo());
		setTipopr100desc(that.getTipopr100desc());
		setTipopr100esta(that.getTipopr100esta());
		setTipopr100load(that.getTipopr100load());
		setTipopr100fead(that.getTipopr100fead());
		setTipopr100lomo(that.getTipopr100lomo());
		setTipopr100femo(that.getTipopr100femo());
		setCompanias(that.getCompanias());
		setProveedoreses(new java.util.LinkedHashSet<abs.domain.Proveedores>(that.getProveedoreses()));
	}

	/**
	 * Returns a textual representation of a bean.
	 *
	 */
	public String toString() {

		StringBuilder buffer = new StringBuilder();

		buffer.append("tipopr100cdgo=[").append(tipopr100cdgo).append("] ");
		buffer.append("tipopr100desc=[").append(tipopr100desc).append("] ");
		buffer.append("tipopr100esta=[").append(tipopr100esta).append("] ");
		buffer.append("tipopr100load=[").append(tipopr100load).append("] ");
		buffer.append("tipopr100fead=[").append(tipopr100fead).append("] ");
		buffer.append("tipopr100lomo=[").append(tipopr100lomo).append("] ");
		buffer.append("tipopr100femo=[").append(tipopr100femo).append("] ");

		return buffer.toString();
	}

	/**
	 */
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = (int) (prime * result + ((tipopr100cdgo == null) ? 0 : tipopr100cdgo.hashCode()));
		return result;
	}

	/**
	 */
	public boolean equals(Object obj) {
		if (obj == this)
			return true;
		if (!(obj instanceof TipoProveedores))
			return false;
		TipoProveedores equalCheck = (TipoProveedores) obj;
		if ((tipopr100cdgo == null && equalCheck.tipopr100cdgo != null) || (tipopr100cdgo != null && equalCheck.tipopr100cdgo == null))
			return false;
		if (tipopr100cdgo != null && !tipopr100cdgo.equals(equalCheck.tipopr100cdgo))
			return false;
		return true;
	}
}
